package com.kantboot.db.common.dto;

import lombok.Data;

import java.io.Serializable;

@Data
public class CreateDatabaseDTO implements Serializable {

    /**
     * 代码生成的路径
     */
    private String outputDir = System.getProperty("user.dir");

    /**
     * 作者
     */
    private String author;

    /**
     * 是否打开资源管理器，默认为否
     */
    private Integer isOpenResourceManager = 0;

    /**
     * 重新生成时文件是否覆盖，默认为否
     */
    private Integer isFileOverride = 0;

    /**
     * 是否开启swagger
     */
    private Integer isSwagger = 0;

    /**
     * 主键策略
     * <table>
     *     <tr>
     *         <td>AUTO</td>
     *         <td>0</td>
     *     </tr>
     *     <tr>
     *         <td>NONE</td>
     *         <td>1</td>
     *     </tr>
     *     <tr>
     *         <td>INPUT</td>
     *         <td>2</td>
     *     </tr>
     *     <tr>
     *         <td>ASSIGN_ID</td>
     *         <td>3</td>
     *     </tr>
     *     <tr>
     *         <td>ASSIGN_UUID</td>
     *         <td>4</td>
     *     </tr>
     *     <tr>
     *         <td>ID_WORKER</td>
     *         <td>5</td>
     *     </tr>
     *     <tr>
     *         <td>ID_WORKER_STR</td>
     *         <td>6</td>
     *     </tr>
     *     <tr>
     *         <td>UUID</td>
     *         <td>7</td>
     *     </tr>
     * </table>
     */
    private Integer idType = 0;

    /**
     * 数据库连接地址
     */
    private String databaseUrl;

    /** 数据库驱动 */
    private String databaseDriverName = "com.mysql.cj.jdbc.Driver";

    /** 数据库用户名 */
    private String databaseUsername;

    /** 数据库密码 */
    private String databasePassword;

    /** 模块名 */
    private String packageModuleName = "by";

    /** 包名 */
    private String packageParentName = "com.kantboot";

    /** 控制器包名 */
    private String packageControllerName = "controller";

    /** 实体类包名 */
    private String packageEntityName = "entity";

    /** 业务层包名 */
    private String packageServiceName = "service";

    /** dao层包名 */
    private String packageMapperName = "mapper";


}
